cargo.git
8 years agoAuto merge of #4046 - jmatraszek:fix_rust_41797, r=alexcrichton
bors [Mon, 15 May 2017 20:28:27 +0000 (20:28 +0000)]
Auto merge of #4046 - jmatraszek:fix_rust_41797, r=alexcrichton

Change inferring bin's name logic

Should fix rust-lang/rust#41797.

8 years agoAuto merge of #3929 - Xion:master, r=alexcrichton
bors [Mon, 15 May 2017 18:34:40 +0000 (18:34 +0000)]
Auto merge of #3929 - Xion:master, r=alexcrichton

Allow cargo:rustc-env in build scripts

This is an attempt to address issue #2875. Basically, I'm trying to allow build scripts to produce`cargo:rustc-env=FOO=foo` lines in their output. These are then translated to `env!()`-friendly env. vars that rustc is run with.

8 years agoAuto merge of #4043 - alexcrichton:fix-flaky-test, r=alexcrichton
bors [Mon, 15 May 2017 16:12:09 +0000 (16:12 +0000)]
Auto merge of #4043 - alexcrichton:fix-flaky-test, r=alexcrichton

Don't try to reach example.com in a test

Instead specify localhost

8 years agoDon't try to reach example.com in a test
Alex Crichton [Sun, 14 May 2017 17:36:01 +0000 (10:36 -0700)]
Don't try to reach example.com in a test

Instead specify localhost

8 years agoAuto merge of #4047 - boxofrox:update-bin-docs, r=alexcrichton
bors [Mon, 15 May 2017 14:08:19 +0000 (14:08 +0000)]
Auto merge of #4047 - boxofrox:update-bin-docs, r=alexcrichton

Update docs: cargo does not build src/bin/*.rs when toml contains [[bin]

Update docs per #4013.

Does it make sense to also mention this behavior in the [Configuring a target](http://doc.crates.io/manifest.html#configuring-a-target) section?

8 years agoUpdate documentation: cargo does not build src/bin/*.rs when toml contains [[bin]]
Justin Charette [Sun, 14 May 2017 21:33:33 +0000 (17:33 -0400)]
Update documentation: cargo does not build src/bin/*.rs when toml contains [[bin]]

Signed-off-by: Justin Charette <charetjc@gmail.com>
8 years agoChange inferring bin's name logic
Jakub Matraszek [Sun, 14 May 2017 20:47:24 +0000 (22:47 +0200)]
Change inferring bin's name logic

8 years agoAuto merge of #3954 - RReverser:run-with, r=alexcrichton
bors [Sat, 13 May 2017 18:06:26 +0000 (18:06 +0000)]
Auto merge of #3954 - RReverser:run-with, r=alexcrichton

Add support for custom target-specific runners

When `target.$triple.runner` is specified, it will be used for any execution commands by cargo including `cargo run`, `cargo test` and `cargo bench`. The original file is passed to the runner executable as a first argument.

This allows to run tests when cross-comping Rust projects.

This is not a complete solution and might be extended in future for better ergonomics to support passing extra arguments to the runner itself or overriding runner from the command line, but it should already unlock major existing use cases.

Fixes #1411
Resolves #3626

8 years agoDocument the feature
Karol Kuczmarski [Sat, 13 May 2017 16:00:52 +0000 (17:00 +0100)]
Document the feature

8 years agoFix build script envvars for `cargo test/doc`
Karol Kuczmarski [Sat, 13 May 2017 15:51:40 +0000 (16:51 +0100)]
Fix build script envvars for `cargo test/doc`

8 years agoFix tidy error
Ingvar Stepanyan [Sat, 13 May 2017 10:36:53 +0000 (11:36 +0100)]
Fix tidy error

8 years agoAllow runner params
Ingvar Stepanyan [Fri, 12 May 2017 22:07:42 +0000 (23:07 +0100)]
Allow runner params

8 years agoAdd documentation about target.$triple.runner
Ingvar Stepanyan [Wed, 26 Apr 2017 00:32:20 +0000 (01:32 +0100)]
Add documentation about target.$triple.runner

8 years agoAdd support for custom target-specific runners
Ingvar Stepanyan [Wed, 26 Apr 2017 00:16:17 +0000 (01:16 +0100)]
Add support for custom target-specific runners

When `target.$triple.runner` is specified, it will be used for any execution commands by cargo including `cargo run`, `cargo test` and `cargo bench`. The original file is passed to the runner executable as a first argument.

This allows to run tests when cross-comping Rust projects.

This is not a complete solution, and might be extended in future for better ergonomics to support passing extra arguments to the runner itself or overriding runner from command line, but it should already unlock major existing usecases.

Fixes #1411
Resolves #3626

8 years agoFix PR comments
Karol Kuczmarski [Fri, 12 May 2017 20:47:28 +0000 (21:47 +0100)]
Fix PR comments

8 years agoAllow cargo:rustc-env in build scripts
Karol Kuczmarski [Mon, 17 Apr 2017 18:48:56 +0000 (19:48 +0100)]
Allow cargo:rustc-env in build scripts

8 years agoAuto merge of #4033 - integer32llc:fix-sys-docs, r=alexcrichton
bors [Fri, 12 May 2017 05:11:06 +0000 (05:11 +0000)]
Auto merge of #4033 - integer32llc:fix-sys-docs, r=alexcrichton

Clear up Linking to Systems Libraries docs

Fixes #2191.

8 years agoClear up Linking to Systems Libraries docs
Carol (Nichols || Goulding) [Fri, 12 May 2017 01:39:36 +0000 (21:39 -0400)]
Clear up Linking to Systems Libraries docs

Fixes #2191.

8 years agoAuto merge of #4026 - alexcrichton:bare-registry, r=matklad
bors [Thu, 11 May 2017 22:05:55 +0000 (22:05 +0000)]
Auto merge of #4026 - alexcrichton:bare-registry, r=matklad

Don't check out the crates.io index locally

This commit moves working with the crates.io index to operating on the git
object layers rather than actually literally checking out the index. This is
aimed at two different goals:

* Improving the on-disk file size of the registry
* Improving cloning times for the registry as the index doesn't need to be
  checked out

The on disk size of my `registry` folder of a fresh check out of the index went
form 124M to 48M, saving a good chunk of space! The entire operation took about
0.6s less on a Unix machine (out of 4.7s total for current Cargo). On Windows,
however, the clone operation went from 11s to 6.7s, a much larger improvement!

Closes #4015

8 years agoDon't check out the crates.io index locally
Alex Crichton [Wed, 10 May 2017 22:00:33 +0000 (15:00 -0700)]
Don't check out the crates.io index locally

This commit moves working with the crates.io index to operating on the git
object layers rather than actually literally checking out the index. This is
aimed at two different goals:

* Improving the on-disk file size of the registry
* Improving cloning times for the registry as the index doesn't need to be
  checked out

The on disk size of my `registry` folder of a fresh check out of the index went
form 124M to 48M, saving a good chunk of space! The entire operation took about
0.6s less on a Unix machine (out of 4.7s total for current Cargo). On Windows,
however, the clone operation went from 11s to 6.7s, a much larger improvement!

Closes #4015

8 years agoAuto merge of #4032 - alexcrichton:retry-500, r=matklad
bors [Thu, 11 May 2017 20:24:47 +0000 (20:24 +0000)]
Auto merge of #4032 - alexcrichton:retry-500, r=matklad

Automatically retry HTTP requests returning 5xx

This commit implements auto-retry for downloading crates from crates.io whenever
a 5xx response is returned. This should help assist with automatic retries
whenever Cargo attempts to download directly from S3 but S3 returns a 500 error,
which is defined as "please retry again".

This logic may be a little eager to retry *all* 500 errors, but there's a
maximum cap on all retries regardless, so hopefully it doesn't result in too
many problems.

Closes #3962

8 years agoAutomatically retry HTTP requests returning 5xx
Alex Crichton [Thu, 11 May 2017 19:41:13 +0000 (12:41 -0700)]
Automatically retry HTTP requests returning 5xx

This commit implements auto-retry for downloading crates from crates.io whenever
a 5xx response is returned. This should help assist with automatic retries
whenever Cargo attempts to download directly from S3 but S3 returns a 500 error,
which is defined as "please retry again".

This logic may be a little eager to retry *all* 500 errors, but there's a
maximum cap on all retries regardless, so hopefully it doesn't result in too
many problems.

Closes #3962

8 years agoAuto merge of #4024 - rsertelon:fix-4016-fetch-only-master, r=alexcrichton
bors [Wed, 10 May 2017 21:52:53 +0000 (21:52 +0000)]
Auto merge of #4024 - rsertelon:fix-4016-fetch-only-master, r=alexcrichton

Fetch only master branch of the registry index

Should close #4016

8 years agoFetch only master branch of the registry index
Romain Sertelon [Wed, 10 May 2017 20:08:58 +0000 (22:08 +0200)]
Fetch only master branch of the registry index

Should close #4016

8 years agoAuto merge of #4022 - sfackler:metadata-target-dir, r=matklad
bors [Wed, 10 May 2017 17:34:31 +0000 (17:34 +0000)]
Auto merge of #4022 - sfackler:metadata-target-dir, r=matklad

Expose the target directory in cargo metadata

Closes #4017

8 years agoExpose the target directory in cargo metadata
Steven Fackler [Wed, 10 May 2017 16:36:23 +0000 (09:36 -0700)]
Expose the target directory in cargo metadata

Closes #4017

8 years agoAuto merge of #4006 - mcgoo:cargo_test_dylib, r=alexcrichton
bors [Tue, 9 May 2017 17:15:40 +0000 (17:15 +0000)]
Auto merge of #4006 - mcgoo:cargo_test_dylib, r=alexcrichton

fix `cargo test` of dylib projects for end user runs too

Fixes running `cargo test` and `cargo test --target <target>` for dylib projects.

Moves the logic just landed in https://github.com/rust-lang/cargo/pull/3996 into cargo itself, so cargo sets the dylib path for anyone running `cargo test` or `cargo run`. Current master sets the dylib path only for  `cargo test` on cargo itself.

This PR pins to rustup 1.2.0 for the purposes of testing. If https://github.com/rust-lang-nursery/rustup.rs/pull/1093 ends up working out, then this PR would only be important for non-rustup users and people doing cross testing, `cargo test --target <target>`.

Arguably https://github.com/mcgoo/cargo/blob/ed273851f8bc76f726eda4a2e2a7bb470c3718bc/src/cargo/ops/cargo_rustc/context.rs#L249-L253 should point to lib/rustlib/\<host triple\>/lib instead of sysroot/lib, because I think if the libs are different, you will never be able to compile a working plugin anyway, and for the host=target case you get the  lib/rustlib/\<host triple\>/lib anyhow. Is there ever a case where the lib/rustlib/\<host triple\>/lib and sysroot/lib versions of the libs would be expected to differ?

This is not a huge deal for me one way or the other - it doesn't impact my workflow at all. I nearly dropped it when I saw @alexcrichton had made it all work in 3996, but I think it's worth doing because it removes a surprise. It certainly would have saved me a couple of days of confusion. Either way, thanks for looking it over.

8 years agoAuto merge of #4010 - jonhoo:better-incremental-nightly-test, r=alexcrichton
bors [Tue, 9 May 2017 15:35:20 +0000 (15:35 +0000)]
Auto merge of #4010 - jonhoo:better-incremental-nightly-test, r=alexcrichton

Bring test of nightly in line with tests

#4000 passes `-Zincremental` to `rustc` only on nightly, but uses a different mechanism for detecting nightly than [cargotest does](https://github.com/rust-lang/cargo/blob/9bf9bddd9297cfb5098be6146d85be551c6d4eff/tests/cargotest/lib.rs#L37). This PR brings the two in line, which should hopefully fix the build failure observed in https://github.com/rust-lang/rust/pull/41830#issuecomment-300052969.

8 years agoBring test of nightly in line with tests
Jon Gjengset [Tue, 9 May 2017 03:44:41 +0000 (23:44 -0400)]
Bring test of nightly in line with tests

8 years agoAuto merge of #3974 - mcgoo:build_rs_native_path, r=alexcrichton
bors [Mon, 8 May 2017 21:11:30 +0000 (21:11 +0000)]
Auto merge of #3974 - mcgoo:build_rs_native_path, r=alexcrichton

fix dynamic search path for build scripts

fixes https://github.com/rust-lang/cargo/issues/3957

8 years agofix dynamic library search path for build scripts
Jim McGrath [Tue, 2 May 2017 15:34:29 +0000 (10:34 -0500)]
fix dynamic library search path for build scripts

Make dynamic library search path handling for build scripts mirror the
behaviour for cargo run etc. -L paths are taken and stripped of the
native= and similar prefixes and added to the dynamic library search
path if they are inside the target dir.
Resolves https://github.com/rust-lang/cargo/issues/3957

8 years agouse latest rustup again (undo pin to 1.2.0)
Jim McGrath [Mon, 8 May 2017 17:58:02 +0000 (12:58 -0500)]
use latest rustup again (undo pin to 1.2.0)

8 years agoavoid an extra cargo invocation
Jim McGrath [Mon, 8 May 2017 17:57:29 +0000 (12:57 -0500)]
avoid an extra cargo invocation

8 years agoAuto merge of #4008 - alexcrichton:update-ssh, r=alexcrichton
bors [Mon, 8 May 2017 16:16:30 +0000 (16:16 +0000)]
Auto merge of #4008 - alexcrichton:update-ssh, r=alexcrichton

Update libssh2-sys

It now has an updated initialization routine to hopefully get ssh working on
Windows, with a fix for alexcrichton/git2-rs#202

8 years agoUpdate libssh2-sys
Alex Crichton [Mon, 8 May 2017 16:15:41 +0000 (09:15 -0700)]
Update libssh2-sys

It now has an updated initialization routine to hopefully get ssh working on
Windows, with a fix for alexcrichton/git2-rs#202

8 years agoAuto merge of #3998 - fantoine:patch-1, r=alexcrichton
bors [Mon, 8 May 2017 14:48:01 +0000 (14:48 +0000)]
Auto merge of #3998 - fantoine:patch-1, r=alexcrichton

Ignore malformed manifests on git dependencies

Fix for #3935

8 years agoset dylib path correctly for target when running `cargo test` etc
Jim McGrath [Fri, 5 May 2017 20:57:47 +0000 (15:57 -0500)]
set dylib path correctly for target when running `cargo test` etc

8 years agoAuto merge of #3999 - kureuil:cratesio-676, r=alexcrichton
bors [Sun, 7 May 2017 18:03:51 +0000 (18:03 +0000)]
Auto merge of #3999 - kureuil:cratesio-676, r=alexcrichton

Document new behavior of crates.io with the documentation field of the manifest

[crates.io](https://crates.io/) now automatically links a crate with its [docs.rs](https://docs.rs/) page if no documentation link was specified in the manifest.

See rust-lang/crates.io#676

8 years agoAuto merge of #4000 - jonhoo:only-incremental-on-nightly, r=alexcrichton
bors [Sun, 7 May 2017 16:24:48 +0000 (16:24 +0000)]
Auto merge of #4000 - jonhoo:only-incremental-on-nightly, r=alexcrichton

Only pass -Zincremental to nightly rustc.

`-Z` can only be used on nightly builds; other builds complain loudly. Since incremental builds only work on nightly anyway, we should silently ignore `CARGO_INCREMENTAL` on anything but nightly. This allows users to always have `CARGO_INCREMENTAL` set without getting unexpected errors on stable/beta builds.

Fixes #3835.

8 years agoOnly pass -Zincremental to nightly rustc.
Jon Gjengset [Sat, 6 May 2017 22:31:10 +0000 (18:31 -0400)]
Only pass -Zincremental to nightly rustc.

Fixes #3835

8 years agoAdded test
Fabien Antoine [Sat, 6 May 2017 12:44:41 +0000 (14:44 +0200)]
Added test

8 years agoRefactorized code
Fabien Antoine [Sat, 6 May 2017 10:41:26 +0000 (12:41 +0200)]
Refactorized code

8 years agoAuto merge of #3996 - alexcrichton:rustup-up, r=alexcrichton
bors [Sat, 6 May 2017 05:04:53 +0000 (05:04 +0000)]
Auto merge of #3996 - alexcrichton:rustup-up, r=alexcrichton

Upgrade rustup used on AppVeyor

8 years agoDocument new behavior of crates.io with the documentation field of the manifest
Louis Person [Fri, 5 May 2017 20:50:01 +0000 (22:50 +0200)]
Document new behavior of crates.io with the documentation field of the manifest

8 years agoUpgrade rustup used on AppVeyor
Alex Crichton [Thu, 4 May 2017 21:50:57 +0000 (14:50 -0700)]
Upgrade rustup used on AppVeyor

8 years agoIgnore malformed manifests on git dependencies
Fabien Antoine [Fri, 5 May 2017 09:53:56 +0000 (11:53 +0200)]
Ignore malformed manifests on git dependencies

8 years agoAuto merge of #3994 - matklad:blacklist, r=alexcrichton
bors [Thu, 4 May 2017 14:10:01 +0000 (14:10 +0000)]
Auto merge of #3994 - matklad:blacklist, r=alexcrichton

Blacklist some binary names in `cargo new`

r? @alexcrichton

closes #3990

8 years agoBlacklist some binary names in `cargo new`
Aleksey Kladov [Thu, 4 May 2017 12:23:38 +0000 (15:23 +0300)]
Blacklist some binary names in `cargo new`

8 years agoAuto merge of #3991 - alexcrichton:better-errors, r=matklad
bors [Wed, 3 May 2017 19:38:36 +0000 (19:38 +0000)]
Auto merge of #3991 - alexcrichton:better-errors, r=matklad

Improve configuration load errors

Add some more context information on the backtrace

8 years agoImprove configuration load errors
Alex Crichton [Wed, 3 May 2017 16:57:37 +0000 (09:57 -0700)]
Improve configuration load errors

Add some more context information on the backtrace

8 years agoAuto merge of #3951 - alexcrichton:lift-cdylib, r=alexcrichton
bors [Tue, 2 May 2017 18:35:07 +0000 (18:35 +0000)]
Auto merge of #3951 - alexcrichton:lift-cdylib, r=alexcrichton

Don't use `-C metadata` cdylibs like we do with dylibs

Dylibs don't get any metadata/extra filename info applied to them as "final
targets" because it can mess with system-specific information (e.g. on OSX) so
this just applies the same logic to cdylibs which need similar treatment on more
platforms (like Windows).

Closes #3934

8 years agoDon't use `-C metadata` cdylibs like we do with dylibs
Alex Crichton [Mon, 24 Apr 2017 20:41:27 +0000 (13:41 -0700)]
Don't use `-C metadata` cdylibs like we do with dylibs

Dylibs don't get any metadata/extra filename info applied to them as "final
targets" because it can mess with system-specific information (e.g. on OSX) so
this just applies the same logic to cdylibs which need similar treatment on more
platforms (like Windows).

Closes #3934

8 years agoAuto merge of #3988 - sdroege:bench-all, r=alexcrichton
bors [Tue, 2 May 2017 14:12:33 +0000 (14:12 +0000)]
Auto merge of #3988 - sdroege:bench-all, r=alexcrichton

Add support for benchmarking all members of a workspace with "bench --all"

Same behaviour as "build --all" and others.

See https://github.com/rust-lang/cargo/issues/2878#issuecomment-298302043

8 years agoAdd tests for "bench --all"
Sebastian Dröge [Tue, 2 May 2017 13:46:30 +0000 (16:46 +0300)]
Add tests for "bench --all"

These are basically the same as the ones from "test --all" and "doc --all"

8 years agoAdd support for benchmarking all members of a workspace with "bench --all"
Sebastian Dröge [Tue, 2 May 2017 13:46:01 +0000 (16:46 +0300)]
Add support for benchmarking all members of a workspace with "bench --all"

Same behaviour as "build --all" and others.

8 years agoAuto merge of #3980 - Keruspe:master, r=alexcrichton
bors [Sun, 30 Apr 2017 08:23:23 +0000 (08:23 +0000)]
Auto merge of #3980 - Keruspe:master, r=alexcrichton

update libgit2-sys for libressl compat

8 years agofix build-auth test
Marc-Antoine Perennou [Sun, 30 Apr 2017 06:51:19 +0000 (08:51 +0200)]
fix build-auth test

libgit2 somehow reverted the version back to 0.25.0 after the 0.25.1 release

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
8 years agoupdate libgit2-sys for libressl compat
Marc-Antoine Perennou [Sun, 30 Apr 2017 06:08:23 +0000 (08:08 +0200)]
update libgit2-sys for libressl compat

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
8 years agoAuto merge of #3977 - rap2hpoutre:patch-1, r=alexcrichton
bors [Sat, 29 Apr 2017 17:42:46 +0000 (17:42 +0000)]
Auto merge of #3977 - rap2hpoutre:patch-1, r=alexcrichton

Added a base font size

See https://github.com/rust-lang/crates.io/pull/689 (ping @carols10cents)

A base font size was added to crates.io, here is the same addition for docs.crate.io

8 years agoAdded a base font size
Raphaël Huchet [Sat, 29 Apr 2017 10:42:56 +0000 (12:42 +0200)]
Added a base font size

8 years agoAuto merge of #3970 - golddranks:master, r=alexcrichton
bors [Fri, 28 Apr 2017 16:26:07 +0000 (16:26 +0000)]
Auto merge of #3970 - golddranks:master, r=alexcrichton

exec (replace the current process) external subcommands instead of running them as child processes.

This fixes https://github.com/rust-lang/cargo/issues/3959 (tested to be working with my yet-to-be-published subcommand, and tested not to break things with `cargo tree` and `cargo outdated`).

8 years agoexec (replace the current process) external subommands instead of running them as...
Pyry Kontio [Fri, 28 Apr 2017 05:03:06 +0000 (14:03 +0900)]
exec (replace the current process) external subommands instead of running them as child processes.

8 years agoAuto merge of #3963 - alexcrichton:bump, r=alexcrichton
bors [Fri, 28 Apr 2017 03:12:07 +0000 (03:12 +0000)]
Auto merge of #3963 - alexcrichton:bump, r=alexcrichton

Bump to 0.20.0

8 years agoBump to 0.20.0
Alex Crichton [Thu, 27 Apr 2017 16:18:04 +0000 (09:18 -0700)]
Bump to 0.20.0

8 years agoAuto merge of #3964 - alexcrichton:update-deps, r=alexcrichton
bors [Thu, 27 Apr 2017 19:22:49 +0000 (19:22 +0000)]
Auto merge of #3964 - alexcrichton:update-deps, r=alexcrichton

Update dependencies Cargo uses

Namely update to serde 1.0.0!

8 years agoUpdate dependencies Cargo uses
Alex Crichton [Thu, 27 Apr 2017 18:37:46 +0000 (11:37 -0700)]
Update dependencies Cargo uses

Namely update to serde 1.0.0!

8 years agoAuto merge of #3961 - malbarbo:android-x86_64, r=alexcrichton
bors [Thu, 27 Apr 2017 14:48:32 +0000 (14:48 +0000)]
Auto merge of #3961 - malbarbo:android-x86_64, r=alexcrichton

Bump time (0.1.37) and libc (0.2.22)

8 years agoBump time (0.1.37) and libc (0.2.22)
Marco A L Barbosa [Thu, 27 Apr 2017 14:46:45 +0000 (11:46 -0300)]
Bump time (0.1.37) and libc (0.2.22)

8 years agoAuto merge of #3921 - alexcrichton:less-asserts, r=matklad
bors [Wed, 26 Apr 2017 20:42:15 +0000 (20:42 +0000)]
Auto merge of #3921 - alexcrichton:less-asserts, r=matklad

Relax overly strict asserts in dependency queue

Don't actually need to assert that these are unique, it works both ways and we
can have flavorful dependency graphs which otherwise trigger the assertions.

Closes #3902

8 years agoAuto merge of #3899 - alexcrichton:vendor-empty-ok, r=matklad
bors [Wed, 26 Apr 2017 15:10:04 +0000 (15:10 +0000)]
Auto merge of #3899 - alexcrichton:vendor-empty-ok, r=matklad

Support vendor dirs with "empty" directories

Looks like when vendor directories are checked into a VCS there's been instances
where deleting a folder in the VCS doesn't fully delete the folder from the
filesystem. This can lead to [spurious errors][moz] that are difficult to debug.

To help handle this tweak directory sources to ignore empty directories or
directories with only dotfiles by default.

[moz]: https://bugzilla.mozilla.org/show_bug.cgi?id=1342292

8 years agoRelax overly strict asserts in dependency queue
Alex Crichton [Thu, 13 Apr 2017 21:40:08 +0000 (14:40 -0700)]
Relax overly strict asserts in dependency queue

Don't actually need to assert that these are unique, it works both ways and we
can have flavorful dependency graphs which otherwise trigger the assertions.

Closes #3902

8 years agoAuto merge of #3955 - RReverser:update-override-docs, r=alexcrichton
bors [Wed, 26 Apr 2017 07:25:16 +0000 (07:25 +0000)]
Auto merge of #3955 - RReverser:update-override-docs, r=alexcrichton

Update documentation on overrides

 - `target.linker` does not seem to be supported anymore, only `target.$triple.linker` works, so merged these sections.
 - Added note about supported `target.$triple.ar`

8 years agoAuto merge of #3947 - matklad:bench-bench, r=alexcrichton
bors [Wed, 26 Apr 2017 05:48:11 +0000 (05:48 +0000)]
Auto merge of #3947 - matklad:bench-bench, r=alexcrichton

Allow test named `test`

Looks like `srt/test.rs` and `src/bench.rs` used to be default
integraion test and benchmark, but they no longer are.

closes #3932

8 years agoAuto merge of #3956 - jessicah:update-num-cpus-dep, r=alexcrichton
bors [Wed, 26 Apr 2017 03:32:21 +0000 (03:32 +0000)]
Auto merge of #3956 - jessicah:update-num-cpus-dep, r=alexcrichton

Update num_cpus to 1.4.0 (adds support for Haiku)

This will bring it inline with rustc: https://github.com/rust-lang/rust/pull/41552

8 years agoUpdate num_cpus to 1.4.0 (adds support for Haiku)
Jessica Hamilton [Wed, 26 Apr 2017 03:29:44 +0000 (15:29 +1200)]
Update num_cpus to 1.4.0 (adds support for Haiku)

8 years agoUpdate documentation on overrides
Ingvar Stepanyan [Wed, 26 Apr 2017 00:32:07 +0000 (01:32 +0100)]
Update documentation on overrides

 - target.linker does not seem to be supported anymore, only target.$triple.linker works, so merged these sections.
 - Added note about supported target.$triple.ar

8 years agoAuto merge of #3953 - jessicah:haiku-renaming-fix, r=alexcrichton
bors [Tue, 25 Apr 2017 15:59:59 +0000 (15:59 +0000)]
Auto merge of #3953 - jessicah:haiku-renaming-fix, r=alexcrichton

Haiku: skip renaming if filenames are the same

8 years agoHaiku: skip renaming if filenames are the same
Jessica Hamilton [Tue, 25 Apr 2017 23:15:41 +0000 (23:15 +0000)]
Haiku: skip renaming if filenames are the same

8 years agoHaiku: doesn't have SIG_SYS
Jessica Hamilton [Tue, 25 Apr 2017 16:49:09 +0000 (16:49 +0000)]
Haiku: doesn't have SIG_SYS

8 years agoHaiku: use LIBRARY_PATH in configure
Jessica Hamilton [Tue, 25 Apr 2017 16:48:26 +0000 (16:48 +0000)]
Haiku: use LIBRARY_PATH in configure

8 years agoAuto merge of #3952 - jessicah:haiku-support, r=alexcrichton
bors [Tue, 25 Apr 2017 05:36:08 +0000 (05:36 +0000)]
Auto merge of #3952 - jessicah:haiku-support, r=alexcrichton

Haiku support

8 years agoAuto merge of #3948 - alexcrichton:update-deps, r=alexcrichton
bors [Mon, 24 Apr 2017 19:11:49 +0000 (19:11 +0000)]
Auto merge of #3948 - alexcrichton:update-deps, r=alexcrichton

Update dependencies in Cargo.lock

This also fixes a few CVEs reported with libcurl and libgit2, so pulling in those updates.

8 years agoAuto merge of #3901 - BenWiederhake:all-kinds, r=alexcrichton
bors [Mon, 24 Apr 2017 17:11:58 +0000 (17:11 +0000)]
Auto merge of #3901 - BenWiederhake:all-kinds, r=alexcrichton

Implementation and CLI-support for `--all-$KIND` flags

This implements #3112.

This means all of the following commands are now possible and meaningful:
```
cargo build --all-bins
cargo build --all-tests
cargo test --all-tests
cargo test --all-bins
cargo check --all-bins --all-examples --all-tests --all-benches
```

The commits try to represent the incremental "propagation" of the new feature:
- core functionality (`cargo check --lib` passes)
- CLI suport (`cargo build` passes)
- additional tests (`cargo test` covers new functionality)

Note that `--all` is already reserved to mean "all packages of the workspace", so it can't be used to mean `--all-bins --all-examples --all-tests --all-benches`.

I intend to follow this up by some other PRs, so please do tell me where I could improve.

8 years agoUpdate dependencies in Cargo.lock
Alex Crichton [Mon, 24 Apr 2017 14:00:07 +0000 (07:00 -0700)]
Update dependencies in Cargo.lock

8 years agoAllow test named `test`
Aleksey Kladov [Mon, 24 Apr 2017 12:37:37 +0000 (15:37 +0300)]
Allow test named `test`

Looks like `srt/test.rs` and `src/bench.rs` used to be default
integraion test and benchmark, but they no longer are.

8 years agoAuto merge of #3942 - aidanhs:aphs-no-interactive, r=alexcrichton
bors [Sun, 23 Apr 2017 16:45:47 +0000 (16:45 +0000)]
Auto merge of #3942 - aidanhs:aphs-no-interactive, r=alexcrichton

Remove docker flags that can cause issues

See rust-lang/rust#39036

8 years agoRemove docker flags that can cause issues (rust-lang/rust#39036)
Aidan Hobson Sayers [Sun, 23 Apr 2017 16:08:18 +0000 (17:08 +0100)]
Remove docker flags that can cause issues (rust-lang/rust#39036)

8 years agoAuto merge of #3887 - luser:rustc-wrapper, r=alexcrichton
bors [Wed, 19 Apr 2017 02:19:25 +0000 (02:19 +0000)]
Auto merge of #3887 - luser:rustc-wrapper, r=alexcrichton

Add support for wrapping cargo's rustc invocations by setting RUSTC_WRAPPER

To use sccache for cargo builds we need a simple way to get sccache into the rustc commandline when cargo invokes rustc. Currently this is only possible by hard-linking or copying the `sccache` binary to be named `rustc` and then either setting `RUSTC` to its path or putting it first in `$PATH`, both of which are sort of clunky and require manual steps even if installing sccache via `cargo install`.

This patch adds support for a `RUSTC_WRAPPER` environment variable which, if set, will simply be inserted as the actual binary for all rustc process execution, with rustc and all other rustc arguments following.

I didn't add any tests for this, I couldn't figure out the right place to put them, and presumably we'd need to build a helper binary of some sort to use as the wrapper. If you've got suggestions for how to do that properly I'd be happy to write tests.

This works well in my local testing:
```
luser@eye7:/build/read-process-memory$ /build/cargo/target/release/cargo clean; time RUSTC_WRAPPER=/build/sccache2/target/release/sccache RUSTC=/home/luser/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/rustc /build/cargo/target/release/cargo build
   Compiling getopts v0.2.14
   Compiling log v0.3.6
   Compiling libc v0.2.16
   Compiling rand v0.3.14
   Compiling pulldown-cmark v0.0.3
   Compiling tempdir v0.3.5
   Compiling skeptic v0.5.0
   Compiling read-process-memory v0.1.2-pre (file:///build/read-process-memory)
    Finished dev [unoptimized + debuginfo] target(s) in 7.31 secs

real 0m7.733s
user 0m0.060s
sys 0m0.036s
luser@eye7:/build/read-process-memory$ /build/cargo/target/release/cargo clean; time RUSTC_WRAPPER=/build/sccache2/target/release/sccache RUSTC=/home/luser/.rustup/toolchains/beta-x86_64-unknown-linux-gnu/bin/rustc /build/cargo/target/release/cargo build
   Compiling getopts v0.2.14
   Compiling libc v0.2.16
   Compiling log v0.3.6
   Compiling pulldown-cmark v0.0.3
   Compiling rand v0.3.14
   Compiling tempdir v0.3.5
   Compiling skeptic v0.5.0
   Compiling read-process-memory v0.1.2-pre (file:///build/read-process-memory)
    Finished dev [unoptimized + debuginfo] target(s) in 0.97 secs

real 0m1.049s
user 0m0.060s
sys 0m0.036s
```

The use of beta rustc is just to pick up the fix for making `--emit=dep-info` faster (which should ship in 1.17). If this patch ships in cargo then in the future developers should simply be able to `cargo install sccache; export RUSTC_WRAPPER=sccache` and `cargo build` as normal, but benefit from local sccache caching.

8 years agoAuto merge of #3926 - froydnj:reenable-nightly-tests, r=alexcrichton
bors [Tue, 18 Apr 2017 13:54:28 +0000 (13:54 +0000)]
Auto merge of #3926 - froydnj:reenable-nightly-tests, r=alexcrichton

re-enable previously nightly-only tests

These tests all play nicely with Rust 1.16.

8 years agore-enable previously nightly-only tests
Nathan Froyd [Sat, 15 Apr 2017 01:55:41 +0000 (21:55 -0400)]
re-enable previously nightly-only tests

These tests all play nicely with Rust 1.16.

8 years agoAdd support for wrapping cargo's rustc invocations by setting RUSTC_WRAPPER
Ted Mielczarek [Fri, 31 Mar 2017 16:39:19 +0000 (12:39 -0400)]
Add support for wrapping cargo's rustc invocations by setting RUSTC_WRAPPER

8 years agoAuto merge of #3928 - andwur:version-not-found-error-msgs, r=alexcrichton
bors [Tue, 18 Apr 2017 06:12:37 +0000 (06:12 +0000)]
Auto merge of #3928 - andwur:version-not-found-error-msgs, r=alexcrichton

Better error message when a package version is not found

This changes the error message when a package *is* found but there's no
matching version to be a little more helpful.

Old: "no matching package named `<dep name>`"
New: "no matching version `<version>` found for package `<dep name>`"

Fixes #2997

8 years agoAuto merge of #3924 - koivunej:issue_3922, r=alexcrichton
bors [Tue, 18 Apr 2017 04:26:49 +0000 (04:26 +0000)]
Auto merge of #3924 - koivunej:issue_3922, r=alexcrichton

Adjust submodule updating failure reporting

This PR changes output of cargo when updating a dependency fails because of it's submodules cannot be loaded. In my original example this was caused by submodule pointing to a revision which was deleted by force pushing. Fixes #3922.

Before:

```
$ cargo check
    Updating git repository `<foo-url>`
error: failed to load source for a dependency on `foo`
Caused by:
  Unable to update <foo-url>?rev=hash
To learn more, run the command again with --verbose.
```

After:

```
$ cargo check
    Updating git repository `<foo-url>`
error: failed to load source for a dependency on `foo`
Caused by:
  Unable to update <foo-url>?rev=hash
Caused by:
  Failed to update submodule `submodule`
To learn more, run the command again with --verbose.
```

`--verbose` showing an additional `[9/-3] object not found - no match for id (hash)` has not been changed.

@alexcrichton since we have this nice timezone difference there was no chance of mentoring so far but any comments/suggestions are highly welcome. I'll likely check back on this next week.

8 years agoAuto merge of #3908 - froydnj:overflow-checks, r=alexcrichton
bors [Tue, 18 Apr 2017 02:52:17 +0000 (02:52 +0000)]
Auto merge of #3908 - froydnj:overflow-checks, r=alexcrichton

add `overflow-checks` field to profiles

...and pass `-C overflow-checks` to the compiler when necessary.

Fixes #2262.

8 years agoAuto merge of #3930 - alexcrichton:more-clean, r=alexcrichton
bors [Tue, 18 Apr 2017 01:16:05 +0000 (01:16 +0000)]
Auto merge of #3930 - alexcrichton:more-clean, r=alexcrichton

Clean some more env vars during tests

Will be required to run tests as part of rust-lang/rust

8 years agoClean some more env vars during tests
Alex Crichton [Tue, 18 Apr 2017 00:55:59 +0000 (17:55 -0700)]
Clean some more env vars during tests

Will be required to run tests as part of rust-lang/rust

8 years agoFix #2997: error message when version not found could be improved
Andrew Watts [Mon, 17 Apr 2017 12:24:56 +0000 (21:54 +0930)]
Fix #2997: error message when version not found could be improved

This changes the error message when a package *is* found but there's no
matching version to be a little more helpful.

Old: "no matching package named `...`"
New: "no matching version `...` found for package `...`"

8 years agogit: use lower case in error message
Joonas Koivunen [Mon, 17 Apr 2017 12:08:51 +0000 (15:08 +0300)]
git: use lower case in error message

8 years agoadd `overflow-checks` field to profiles
Nathan Froyd [Fri, 7 Apr 2017 16:32:42 +0000 (12:32 -0400)]
add `overflow-checks` field to profiles

...and pass `-C overflow-checks` to the compiler when necessary.

Fixes #2262.

8 years agostyle fixes
Joonas Koivunen [Fri, 14 Apr 2017 07:55:26 +0000 (10:55 +0300)]
style fixes